[アップデート] Amazon Aurora のモニタリング機能に「CloudWatch Database Insights」が登場しました
いわさです。
先ほど Amazon Aurora に Database Insights という機能が追加されたとアナウンスされました。
Amazon RDS/Aurora には Performance Insights というモニタリング機能がありました。
この Database Insights は Performance Insight、CloudWatch Logs、CloudWatch Application Signals などを統合した CloudWatch 側のモニタリングツールです。
従来は Performance Insights を確認して、別でログを確認し、など必要だったのですが、Database Insights を使うことで統合されたダッシュボードでインサイトを得ることが出来るようになりました。
軽く使ってみたので紹介します。
Aurora クラスターで有効化
まず、この機能を使うためには Aurora クラスター上で Database Insights を有効化する必要があります。
サポートされているのは Aurora MySQL と Aurora PostgreSQL です。
全リージョン対応しているらしいのですが私が確認した際には東日本リージョンでは使うことが出来なかったので、バージニア北部リージョンで試してみました。
モニタリングセクションが次のように変わっています。
従来は Performance Insights の ON/OFF のみだったのですが、Database Insights の Advanced か Standard かを選択するようになっています。
Standard は従来の Perforamance Insights 相当の機能が CloudWatch 側でも使える形で、Advanced はフリーとレベルのモニタリングや Application Signals の統合など高度な機能が備わっています。
Advanced の場合は Performance Insights 機能が強制的に有効となり、かつ 15 ヶ月が設定されるようになります。
Standard の場合は 7 日間までしかデータが保存されませんが利用料金は無料です。
Advanced の場合は CloudWatch 側の追加料金が発生します。料金詳細はこちらをご確認ください。
- プロビジョニングされたインスタンスの監視 (vCPU 時間) : 0.0125 USD(東京リージョン)
- 監視対象の Aurora Serverless v2 インスタンス (ACU 時間) : 0.003125 USD(東京リージョン)
デプロイされたクラスター上では次のエリアから今設定されているモードを確認することが出来ます。
CloudWatch Database Insights を確認する
事前に上記で作成した Aurora PostgreSQL クラスターに pgbench で負荷を発生させています。
% pgbench -i -h hoge1201psql3.cluster-cfd07yundqco.us-east-1.rds.amazonaws.com -U postgres hogedb
Password:
dropping old tables...
NOTICE: table "pgbench_accounts" does not exist, skipping
NOTICE: table "pgbench_branches" does not exist, skipping
NOTICE: table "pgbench_history" does not exist, skipping
NOTICE: table "pgbench_tellers" does not exist, skipping
creating tables...
generating data (client-side)...
100000 of 100000 tuples (100%) done (elapsed 0.15 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done in 2.92 s (drop tables 0.09 s, create tables 0.35 s, client-side generate 1.78 s, vacuum 0.41 s, primary keys 0.30 s).
CloudWatch の「インサイト」内に「データベースインサイト」というメニューが追加されています。
次のように AWS によって事前に構築された独自のダッシュボードを使用してデータベースフリートを監視することが出来ます。
例えばフリートの状態ビューでは全体のインスタンス群の中からパフォーマンスに問題があるインスタンスを識別することが出来ます。
また、そこから更に問題のあるインスタンスを掘り下げる形で「データベースインスタンス」ビューを活用することができます。
Performance Insights の負荷分析に加えて CloudWatch ログへのエクスポートを有効化しておくと、ログやスロークエリログを統合した確認も出来ます。
また、今回試していませんが、CloudWatch Application Signals を統合した分析が可能です。
クラスターエンドポイントを呼び出した CloudWatch Appplication Signals のサービスと操作を表示し、障害率などで並び替えることが出来ます。
Database Insights Standard の場合
CloudWatch Database Insights の基本機能は Standard 構成の Aurora クラスターでも利用することができます。
ただし、一部機能が利用出来ないので、CloudWatch 側でも次のように注意アラートが表示されます。
例えば、DB 負荷分析、データベーステレメトリ機能などは利用出来るのですが、パフォーマンス分析、呼び出しサービスの機能は使うことが出来ません。
また、ログ統合についても利用が出来ません。
さいごに
本日は Amazon Aurora のモニタリング機能で「CloudWatch Database Insights」が登場したので有効化して観察してみました。
Performance Insights を利用されていた方は一旦 Standard で CloudWatch Database Insights を試してみてください。
Advanced は追加料金が発生するのでその点だけ気をつける必要がありますが、Aurora クラスターのトラブルシュートが多い環境では活用余地がありそうなので Standard で評価後にそちらも検討してみてください。
今度は Application Signals も統合して追加の検証も行ってみたいと思います。